#pragma once


#include <windows.h>
#include <XInput.h>

// Now, the XInput Library
// NOTE: COMMENT THIS OUT IF YOU ARE NOT USING
// A COMPILER THAT SUPPORTS THIS METHOD OF LINKING LIBRARIES
#pragma comment(lib, "XInput.lib")

// XBOX Controller Class Definition
class CXBOXController
{
private:
    XINPUT_STATE _controllerState;
    int _controllerNum;
public:
    CXBOXController(int playerNumber);
    XINPUT_STATE GetState();
    bool IsConnected();
    void Vibrate(int leftVal = 0, int rightVal = 0);
};



//if(Player1->IsConnected())
//	{
//		if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_A)
//		{
//			
//			spriteObj[0].position.y += 0.3f;
//		}
//
//		if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_B)
//		{
//			spriteObj[0].position.x += 0.3f;
//		}
//
//		if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_X)
//		{
//			spriteObj[0].position.x -= 0.3f;
//		}
//
//
//
//		int temp;
//		temp = PRESS_Y;
//
//		if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_Y)
//	{
//		if(!gb_buff[temp])
//		{
//			gb_buff[PRESS_Y] = true;
//
//			spriteObj[0].position.y -= 50.0f;
//		}
//	}
//	else
//	{
//		if(gb_buff[PRESS_Y])
//		{	gb_buff[PRESS_Y] = false;	}
//	}
//
//
//		if(Player1->GetState().Gamepad.bRightTrigger &&
//
//			Player1->GetState().Gamepad.bRightTrigger < XINPUT_GAMEPAD_TRIGGER_THRESHOLD)
//
//		{
//
//			// Do whatever you want to happen when a trigger is used here
//
//			// the value stored in state.Gamepad.bRightTrigger is the amount
//
//			// that the trigger is being pressed. Between 0-255.

//			spriteObj[0].position.y -= 0.3f;
//
//		}
//
//		//Player1->GetState().Gamepad
//
//		// Check left thumbStick
//
//		float m_LeftThumbY = Player1->GetState().Gamepad.sThumbLY;
//
//		if(m_LeftThumbY)
//
//		{
//
//			spriteObj[0].position.y -= (m_LeftThumbY / 500000.0f);
//
//		}          
//
//
//
//		float m_LeftThumbX = Player1->GetState().Gamepad.sThumbLX;
//
//		if(m_LeftThumbX)
//
//		{
//
//			spriteObj[0].position.x += (m_LeftThumbX / 500000.0f);
//
//		}
//
//		if(Player1->GetState().Gamepad.wButtons & XINPUT_GAMEPAD_BACK)
//		{
//			// break;
//		}
//
//
//		
//
//	}
//	else
//	{
//		/* std::cout << "\n\tERROR! PLAYER 1 - XBOX 360 Controller Not Found!\n";
//		std::cout << "Press Any Key To Exit.";
//		std::cin.get();
//		break;*/
//	}